Basics
Introduction to JavaScript
- What is JavaScript?
- Including JavaScript in HTML
- JavaScript syntax and structure
- Running JavaScript in the browser
Data Types and Variables
- Primitive data types
- Variables (var, let, const)
- Type conversion and coercion
Basic Operators
- Arithmetic operators
- Comparison operators
- Logical operators
- Assignment operators
Control Structures
- Conditional statements (if, else if, else)
- Loops (for, while, do...while)
- Switch statement
Intermediate
Functions
- Defining and calling functions
- Function expressions and arrow functions
- Parameters and return values
- Scope and closures
Objects and Arrays
- Creating and manipulating objects
- Object methods and 'this' keyword
- Creating and manipulating arrays
- Array methods (map, filter, reduce)
DOM Manipulation
- Understanding the DOM
- Selecting elements (getElementById, querySelector)
- Modifying elements (textContent, innerHTML, style)
- Event handling (addEventListener, event objects)
Error Handling
- Try, catch, finally blocks
- Throwing custom errors
- Error objects
Advanced
Asynchronous JavaScript
- Callbacks
- Promises
- Async/await
- Fetching data from APIs
Object-Oriented Programming (OOP)
- Classes and objects
- Inheritance and prototypes
- Methods and getters/setters
- Encapsulation and modules
Modules
- Introduction to ES6 modules
- Exporting and importing modules
- Default exports
- Bundling modules with tools like Webpack
Advanced Techniques
- Higher-order functions
- Currying and function composition
- Design patterns (Singleton, Observer, Factory)